Recently, as a next-generation multimedia wireless communication system on which research is actively ongoing, a high speed communication system that can process diverse information such as images, radio data, and the like, and transmit the same, beyond voice-centered services is required.
One of the basic issues to achieve high speed communications is how effectively and reliably data can be transmitted via channels. Unlike a wireline channel environment, a radio channel environment existing for a wireless communication system involves many factors such as multipath interference, shadowing, propagation attenuation, time-varying noise, interference, fading, and the like, which inevitably cause errors to make a loss of information.
Channel coding is a process for coding information bits to generate codewords to prevent a loss of information. Here, a codeword refers to a bit stream generated by performing a particular processing on information bits to improve detection performance in transmitting the information bits.
The channel coding includes a block type channel coding (referred to as ‘block coding’, hereinafter) and a Trellis type channel coding. The block coding includes a channel coding using a Bose-Chadhuri-Hocquenghem (BCH) code or a Reed-Muller (RM) code. In the block coding, a codeword may be generated by using a matrix block called a generating matrix. Unlike the Trellis type channel coding, the block coding does not have a memory between continuously generated blocks, so front and rear blocks have no relation. The Trellis type channel coding includes a channel coding using a convolutional code or a Turbo code. In the Trellis type channel coding, a codeword may be generated by using a polynomial expression such as a generating polynomial.
The process of generating codewords in a Reed-Muller coding-based communication system will now be described by using Equations 1 to 3 shown below. If a generator matrix G is assumed to have a size of 6×36, the generator matrix G may be represented by basic sequences (or vectors) v1, v2, v3, v4, v5,1 as shown in Equation 1.
                    MathFigure        ⁢                                  ⁢        1                                                                      [                                                                                          v                    1                                    =                                      (01010101010101010101010101010101)                                                                                                                                            v                    2                                    =                                      (00110011001100110011001100110011)                                                                                                                                            v                    3                                    =                                      (00001111000011110000111100001111)                                                                                                                                            v                    4                                    =                                      (00000000111111110000000011111111)                                                                                                                                            v                    5                                    =                                      (00000000000000001111111111111111)                                                                                ]                =                  G          1                                    [                  Math          .                                          ⁢          1                ]                                          [                      1            =                          (                              111111111111111111111111111111111                            )                                ]                =                  G          0                                                
Input information bits ‘m’ with a length of 6 may be represented by Equation 2 shown below:MathFigure 2m=[m1,m2,m3,m4,m5,m0]=[M1|m0]  [Math.2]
Accordingly, a codeword ‘b’ a modulo computation result of the product of the information bits and the generator matrix G, may be represented by Equation 3 shown below:
                    MathFigure        ⁢                                  ⁢        3                                                                                                b              =                                                (                                                            [                                                                        M                          1                                                |                                                  m                          0                                                                    ]                                        ⁡                                          [                                                                        G                          1                                                                          G                          0                                                                    ]                                                        )                                ⁢                mod                ⁢                                                                  ⁢                2                                                                                        =                                                (                                                                                    m                        1                                            ⁢                                              v                        1                                                              +                                                                  m                        2                                            ⁢                                              v                        2                                                              +                                                                  m                        3                                            ⁢                                              v                        3                                                              +                                                                  m                        4                                            ⁢                                              v                        4                                                              +                                                                  m                        5                                            ⁢                                              v                        5                                                              +                                                                  m                        0                                            ⁢                      1                                                        )                                ⁢                mod                ⁢                                                                  ⁢                2                                                                        [                  Math          .                                          ⁢          3                ]            
A receiver receives a particular transmission sequence called the codeword generated thusly and decodes the sequence to determine what the received information bits are. Over a memoryless channel in which error probabilities from one symbol to a next symbol are mutually independent, the receiver compares the received sequence with every available codeword and selects a codeword closest to the received sequence in consideration of the reliability of the received symbol.
In this case, the difference between the size of the received sequence and that of the codeword or the distance between the sizes of codewords is called a distance. The shortest distance between codewords is a key factor for determining the characteristics of codes, which is called a minimum distance. For example, it is assumed that there are codewords of 000, 010, 110. The distance between 000 and 110 is 2, the distance between 000 and 010 is 1, and the distance between 010 and 110 is 1, so the minimum distance is 1.
When a minimum distance of a certain block code is dmin, codewords of the block code have different values at the at least dmin number of positions. This means that although the dmin−1 or smaller number of errors are generated, the receiver will not take the codewords as any different codewords.
If the number of bits of the codewords increases, the minimum distance would increase, obtaining excellent detection performance. In this case, however, because too many number of bits are used, a transmission efficiency may be degraded. Conversely, if the number of bits of the codewords is reduced, the transmission efficiency would increase but the minimum distance may be shortened to degrade the detection performance, and in this case, because the detection performance is determined to be sensitive to an error difference according to channel compensation, the performance of a rapidly time-varying channel may be degraded. That is, in the block coding, the detection performance and the transmission efficiency are in a trade-off relationship.
If the number of bits of information desired to be transmitted is not large, generally, a block code that exhibits good error correction performance at a short information length is used to transmit the information. As for resources used for transmission, a fixed amount of resource is allocated in consideration of convenience of resource management in a system.
In general, if the amount of information to be transmitted is small, it is robustly transmitted through simple repetition via a block code supporting an information length and a codeword length of small sizes, and if information is to be transmitted more robustly or the amount of information to be transmitted is large, the information is divided into several codewords and transmitted, thereby utilizing available resources to its maximum level. However, the corresponding block code has a relatively low error correction capability, makes it difficult to effectively design a generating matrix, and takes much time for its generation.
Thus, a method for improving a detection performance and generating a block coding-based codeword with a good error correction capability is required.